export interface UserInfoDetails extends UserInfo {
  userAccount: string
  userPassword: string
  createTime: string
  updateTime: string
}

export type EditUserInfo = UserInfo & {
  userAccount: string
  userPassword: string
}

export type AppendUserInfo = Omit<UserInfo, "id"> & {
  userAccount: string
  userPassword: string
}

export interface QueryUserInfoTableParams {
  current: number
  email: string
  id: number | undefined
  pageSize: number
  phone: string
  sortField: keyof Omit<QueryUserInfoTableParams, "current" | "pageSize" | "sortField" | "sortOrder">
  sortOrder: "desc" | "esc"
  userName: string
  userRole: Omit<RolesType, "ban"> | undefined
  gender: number | undefined
}

export type QueryUserInfoTableResponse = ApiResponseData<{
  records: UserInfoDetails[]
  total: number
  size: number
  current: number
  pages: number
  orders: string[]
  searchCount: boolean
}>

export interface AdvertisingDataItem {
  id: string
  advertisingTitle: string
  advertisingContent: string
  redirectUrl: string
}
